home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-06-13 | 2.4 KB | 131 lines | [TEXT/EDIT] |
- -- Part of SmallEiffel -- Read DISCLAIMER file -- Copyright (C)
- -- Dominique COLNET and Suzanne COLLIN -- colnet@loria.fr
- --
- class COMMAND
- --
- -- Separate Handling of Keyboard Input.
- --
-
- creation {ANY}
- make
-
- feature {ANY}
-
- arrival: BOOLEAN is
- do
- Result := (code = c_arrival)
- end;
-
- departure: BOOLEAN is
- do
- Result := (code = c_departure)
- end;
-
- level_count: BOOLEAN is
- do
- Result := (code = c_level_count)
- end;
-
- hour_price: BOOLEAN is
- do
- Result := (code = c_hour_price)
- end;
-
- add_time: BOOLEAN is
- do
- Result := (code = c_add_time)
- end;
-
- clock: BOOLEAN is
- do
- Result := (code = c_clock)
- end;
-
- quit: BOOLEAN is
- do
- Result := (code = c_quit)
- end;
-
- help: BOOLEAN is
- do
- Result := (code = c_help)
- end;
-
- arg_real: REAL is
- do
- Result := cmd.to_real;
- end;
-
- arg_integer: INTEGER is
- do
- Result := cmd.to_integer;
- end;
-
- count: BOOLEAN is
- do
- Result := (code = c_count)
- end;
-
- feature {ANY} -- Modifications :
-
- make is
- do
- end;
-
- get_command(sio: STD_INPUT_OUTPUT) is
- require
- sio /= Void;
- local
- stop: BOOLEAN;
- do
- sio.read_line;
- cmd := sio.last_string;
- from
- code := ' ';
- stop := (cmd.count < 1);
- until
- stop
- loop
- code := cmd @ 1;
- cmd.remove(1);
- stop := ((code /= ' ') and (code /= '%T')) or (cmd.count < 1)
- end;
- end; -- get_command
-
- print_help_on(sio: STD_INPUT_OUTPUT) is
- require
- sio /= Void;
- do
- sio.put_string(" Commands :N%
- % -------------------%N%
- % q Quit%N%
- % a Arrival of a car%N%
- % d <i> Departure of car number <i>%N%
- % l <i> number of car at Level <i>%N%
- % h <x> set Hour price with <x>%N%
- % c total Count of cars%N%
- % t <i> add Time <i> minutes%N%
- % T current Time%N%
- % ? help%N");
- end;
-
- feature {COMMAND}
-
- c_arrival : CHARACTER is 'a';
- c_departure : CHARACTER is 'd';
- c_level_count : CHARACTER is 'l';
- c_hour_price : CHARACTER is 'h';
- c_add_time : CHARACTER is 't';
- c_clock : CHARACTER is 'T';
- c_quit : CHARACTER is 'q';
- c_count : CHARACTER is 'c';
- c_help : CHARACTER is '?';
-
- code : CHARACTER;
-
- feature {NONE}
-
- cmd: STRING;
-
- end -- class COMMAND
-